1 Loading Data

syr <- readRDS("C:/Users/Adam/Desktop/ECON3880/SYRflights2021.rds")

2 Q1:

library(tidyverse)
head(syr, 3)

The names of the columns are the following: year, month, day, dep_time, sched_dep_time, dep_delay, arr_time, sched_arr_time, arr_delay, carrier, flight, tailnum, origin, dest, air_time, distance, hour, minute, and time_hour

3 Q2:

str(syr)
tibble [9,680 × 19] (S3: tbl_df/tbl/data.frame)
 $ year          : int [1:9680] 2021 2021 2021 2021 2021 2021 2021 2021 2021 2021 ...
 $ month         : int [1:9680] 1 1 1 1 1 1 1 1 1 1 ...
 $ day           : int [1:9680] 1 1 1 1 1 1 1 1 1 1 ...
 $ dep_time      : int [1:9680] 554 555 654 655 945 1128 1235 1252 1737 1908 ...
 $ sched_dep_time: int [1:9680] 600 600 700 700 952 1135 1248 1300 1749 1827 ...
 $ dep_delay     : num [1:9680] -6 -5 -6 -5 -7 -7 -13 -8 -12 41 ...
 $ arr_time      : int [1:9680] 802 723 926 747 1058 1349 1539 1448 2042 2042 ...
 $ sched_arr_time: int [1:9680] 836 745 922 817 1121 1400 1549 1433 2107 1942 ...
 $ arr_delay     : num [1:9680] -34 -22 4 -30 -23 -11 -10 15 -25 60 ...
 $ carrier       : chr [1:9680] "YX" "9E" "DL" "9E" ...
 $ flight        : int [1:9680] 26 23 2 22 35 25 8 24 6 28 ...
 $ tailnum       : chr [1:9680] "N130HQ" "N921XJ" "N990AT" "N301PQ" ...
 $ origin        : chr [1:9680] "SYR" "SYR" "SYR" "SYR" ...
 $ dest          : chr [1:9680] "CLT" "DTW" "ATL" "JFK" ...
 $ air_time      : num [1:9680] 108 65 123 38 49 118 164 63 168 42 ...
 $ distance      : num [1:9680] 603 374 794 209 228 ...
 $ hour          : num [1:9680] 6 6 7 7 9 11 12 13 17 18 ...
 $ minute        : num [1:9680] 0 0 0 0 52 35 48 0 49 27 ...
 $ time_hour     : POSIXct[1:9680], format: "2021-01-01 06:00:00" "2021-01-01 06:00:00" "2021-01-01 07:00:00" "2021-01-01 07:00:00" ...
 - attr(*, "na.action")= 'omit' Named int [1:136] 61 94 304 333 334 386 454 524 567 568 ...
  ..- attr(*, "names")= chr [1:136] "61" "94" "304" "333" ...

We can see from the following output that there are a number of different types of data structures. The different types of data that are being shown within the dataset are: integer, numerical, and POSIXct which refers to the date.

4 Q3:

syr %>% filter(arr_delay>5, dest=="JFK"| dest=="LGA"| dest=="EWR")

We can see from the following tibble that there are 249 rows of observations that fit the conditions of arrival delays more than 5 hours that have flown to New York City, which includes three airports; JFK, LGA, and EWR

5 Q4:

syr %>% filter(year==2021 & month %in% 1:3 & dest=="CLT" & (carrier== "AA" | carrier=="YX") & air_time>110 & air_time<120)

6 Q5:

syr <- syr %>% mutate(distance_km1 = distance*1.61)
syr$distance_km2 <- syr$distance*1.61
df_new <- syr %>% select(month, carrier, distance_km1, distance_km2, ends_with("time"))
tail(df_new, 4)

7 Q6:

library(plotly)
library(ggplot2)
cplot <- ggplot(df_new, aes(month, carrier, ))+
  geom_count(colour="gold")+
  labs(title= "Number of observations in different months for different carriers",
       x="Month of the year",
       y="Ariline code")+
  scale_x_continuous(breaks = c(1:12))+
  theme(plot.title = element_text(size=10))
ggplotly(cplot)

The only carrier that had operated in only November and December of 2021 in the year of 2021. We can see the number of observations for each carrier by hovering over one of the markers, and in the case for carrier WN, the number of observations in the last two months of the year is 144.

LS0tDQp0aXRsZTogIkVDT04gMzg4MDogQXNzaWdubWVudCAzIg0KYXV0aG9yOiAiQWRhbSBTYXJkZWxsYSINCg0KZGF0ZTogJ2ByIFN5cy5EYXRlKClgJw0Kb3V0cHV0OiANCiAgaHRtbF9ub3RlYm9vazogDQogICAgdG9jOiB5ZXMNCiAgICB0b2NfZmxvYXQ6IHllcw0KICAgIGRmX3ByaW50OiBwYWdlZA0KICAgIG51bWJlcl9zZWN0aW9uczogdHJ1ZQ0KLS0tDQoNCiMgTG9hZGluZyBEYXRhDQoNCmBgYHtyfQ0Kc3lyIDwtIHJlYWRSRFMoIkM6L1VzZXJzL0FkYW0vRGVza3RvcC9FQ09OMzg4MC9TWVJmbGlnaHRzMjAyMS5yZHMiKQ0KYGBgDQoNCiMgUTE6DQoNCmBgYHtyfQ0KbGlicmFyeSh0aWR5dmVyc2UpDQpoZWFkKHN5ciwgMykNCmBgYA0KDQpUaGUgbmFtZXMgb2YgdGhlIGNvbHVtbnMgYXJlIHRoZSBmb2xsb3dpbmc6IHllYXIsIG1vbnRoLCBkYXksIGRlcF90aW1lLCBzY2hlZF9kZXBfdGltZSwgZGVwX2RlbGF5LCBhcnJfdGltZSwgc2NoZWRfYXJyX3RpbWUsIGFycl9kZWxheSwgY2FycmllciwgZmxpZ2h0LCB0YWlsbnVtLCBvcmlnaW4sIGRlc3QsIGFpcl90aW1lLCBkaXN0YW5jZSwgaG91ciwgbWludXRlLCBhbmQgdGltZV9ob3VyDQoNCg0KIyBRMjoNCg0KYGBge3J9DQpzdHIoc3lyKQ0KYGBgDQoNCldlIGNhbiBzZWUgZnJvbSB0aGUgZm9sbG93aW5nIG91dHB1dCB0aGF0IHRoZXJlIGFyZSBhIG51bWJlciBvZiBkaWZmZXJlbnQgdHlwZXMgb2YgZGF0YSBzdHJ1Y3R1cmVzLiBUaGUgZGlmZmVyZW50IHR5cGVzIG9mIGRhdGEgdGhhdCBhcmUgYmVpbmcgc2hvd24gd2l0aGluIHRoZSBkYXRhc2V0IGFyZTogaW50ZWdlciwgbnVtZXJpY2FsLCBhbmQgUE9TSVhjdCB3aGljaCByZWZlcnMgdG8gdGhlIGRhdGUuDQoNCg0KIyBRMzoNCmBgYHtyfQ0Kc3lyICU+JSBmaWx0ZXIoYXJyX2RlbGF5PjUsIGRlc3Q9PSJKRksifCBkZXN0PT0iTEdBInwgZGVzdD09IkVXUiIpDQpgYGANCldlIGNhbiBzZWUgZnJvbSB0aGUgZm9sbG93aW5nIHRpYmJsZSB0aGF0IHRoZXJlIGFyZSAyNDkgcm93cyBvZiBvYnNlcnZhdGlvbnMgdGhhdCBmaXQgdGhlIGNvbmRpdGlvbnMgb2YgYXJyaXZhbCBkZWxheXMgbW9yZSB0aGFuIDUgaG91cnMgdGhhdCBoYXZlIGZsb3duIHRvIE5ldyBZb3JrIENpdHksIHdoaWNoIGluY2x1ZGVzIHRocmVlIGFpcnBvcnRzOyBKRkssIExHQSwgYW5kIEVXUg0KDQojIFE0Og0KYGBge3J9DQpzeXIgJT4lIGZpbHRlcih5ZWFyPT0yMDIxICYgbW9udGggJWluJSAxOjMgJiBkZXN0PT0iQ0xUIiAmIChjYXJyaWVyPT0gIkFBIiB8IGNhcnJpZXI9PSJZWCIpICYgYWlyX3RpbWU+MTEwICYgYWlyX3RpbWU8MTIwKQ0KYGBgDQoNCiMgUTU6DQpgYGB7cn0NCnN5ciA8LSBzeXIgJT4lIG11dGF0ZShkaXN0YW5jZV9rbTEgPSBkaXN0YW5jZSoxLjYxKQ0Kc3lyJGRpc3RhbmNlX2ttMiA8LSBzeXIkZGlzdGFuY2UqMS42MQ0KZGZfbmV3IDwtIHN5ciAlPiUgc2VsZWN0KG1vbnRoLCBjYXJyaWVyLCBkaXN0YW5jZV9rbTEsIGRpc3RhbmNlX2ttMiwgZW5kc193aXRoKCJ0aW1lIikpDQp0YWlsKGRmX25ldywgNCkNCmBgYA0KDQoNCg0KIyBRNjoNCmBgYHtyfQ0KbGlicmFyeShwbG90bHkpDQpsaWJyYXJ5KGdncGxvdDIpDQpjcGxvdCA8LSBnZ3Bsb3QoZGZfbmV3LCBhZXMobW9udGgsIGNhcnJpZXIsICkpKw0KICBnZW9tX2NvdW50KGNvbG91cj0iZ29sZCIpKw0KICBsYWJzKHRpdGxlPSAiTnVtYmVyIG9mIG9ic2VydmF0aW9ucyBpbiBkaWZmZXJlbnQgbW9udGhzIGZvciBkaWZmZXJlbnQgY2FycmllcnMiLA0KICAgICAgIHg9Ik1vbnRoIG9mIHRoZSB5ZWFyIiwNCiAgICAgICB5PSJBcmlsaW5lIGNvZGUiKSsNCiAgc2NhbGVfeF9jb250aW51b3VzKGJyZWFrcyA9IGMoMToxMikpKw0KICB0aGVtZShwbG90LnRpdGxlID0gZWxlbWVudF90ZXh0KHNpemU9MTApKQ0KZ2dwbG90bHkoY3Bsb3QpDQpgYGANCg0KVGhlIG9ubHkgY2FycmllciB0aGF0IGhhZCBvcGVyYXRlZCBpbiBvbmx5IE5vdmVtYmVyIGFuZCBEZWNlbWJlciBvZiAyMDIxIGluIHRoZSB5ZWFyIG9mIDIwMjEuIFdlIGNhbiBzZWUgdGhlIG51bWJlciBvZiBvYnNlcnZhdGlvbnMgZm9yIGVhY2ggY2FycmllciBieSBob3ZlcmluZyBvdmVyIG9uZSBvZiB0aGUgbWFya2VycywgYW5kIGluIHRoZSBjYXNlIGZvciBjYXJyaWVyIFdOLCB0aGUgbnVtYmVyIG9mIG9ic2VydmF0aW9ucyBpbiB0aGUgbGFzdCB0d28gbW9udGhzIG9mIHRoZSB5ZWFyIGlzIDE0NC4NCg0K